<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>Aria: ArMapScanInterface Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Aria
   &#160;<span id="projectnumber">2.9.4</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="examples.html"><span>Examples</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('classArMapScanInterface.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="classArMapScanInterface-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">ArMapScanInterface Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div>  </div>
</div><!--header-->
<div class="contents">

<p>Methods related to setting and retrieving the scan-related data in an <a class="el" href="classAria.html" title="Contains global initialization, deinitialization and other global functions. ">Aria</a> map.  
 <a href="classArMapScanInterface.html#details">More...</a></p>

<p><code>#include &lt;ArMapInterface.h&gt;</code></p>

<p>Inherited by <a class="el" href="classArMapInterface.html">ArMapInterface</a>, and <a class="el" href="classArMapScan.html">ArMapScan</a>.</p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ac2148e6b805f454df92629107524cc6b"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArMapScanInterface.html#ac2148e6b805f454df92629107524cc6b">addToFileParser</a> (<a class="el" href="classArFileParser.html">ArFileParser</a> *fileParser)=0</td></tr>
<tr class="memdesc:ac2148e6b805f454df92629107524cc6b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds handlers for this scan data's header information to the given file parser.  <a href="#ac2148e6b805f454df92629107524cc6b">More...</a><br /></td></tr>
<tr class="separator:ac2148e6b805f454df92629107524cc6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a97ab0fd481e4adbd043a6c565a577216"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a97ab0fd481e4adbd043a6c565a577216"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArMapScanInterface.html#a97ab0fd481e4adbd043a6c565a577216">ArMapScanInterface</a> ()</td></tr>
<tr class="memdesc:a97ab0fd481e4adbd043a6c565a577216"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor. <br /></td></tr>
<tr class="separator:a97ab0fd481e4adbd043a6c565a577216"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa3e8606369e3f4676492c0c320370c9f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa3e8606369e3f4676492c0c320370c9f"></a>
virtual const char *&#160;</td><td class="memItemRight" valign="bottom"><b>getDisplayString</b> (const char *scanType=<a class="el" href="ArMapInterface_8h.html#ac9bfc47ae45cd704d0c287fa69f56686">ARMAP_DEFAULT_SCAN_TYPE</a>)=0</td></tr>
<tr class="separator:aa3e8606369e3f4676492c0c320370c9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afb1843e08cfcd465ed0e7b81bcb3a080"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classArPose.html">ArPose</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArMapScanInterface.html#afb1843e08cfcd465ed0e7b81bcb3a080">getLineMaxPose</a> (const char *scanType=<a class="el" href="ArMapInterface_8h.html#ac9bfc47ae45cd704d0c287fa69f56686">ARMAP_DEFAULT_SCAN_TYPE</a>)=0</td></tr>
<tr class="memdesc:afb1843e08cfcd465ed0e7b81bcb3a080"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the upper right point (maximum x and y) of the scan's line segments.  <a href="#afb1843e08cfcd465ed0e7b81bcb3a080">More...</a><br /></td></tr>
<tr class="separator:afb1843e08cfcd465ed0e7b81bcb3a080"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a73ee1150e0bae55d06c90fe12a448226"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classArPose.html">ArPose</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArMapScanInterface.html#a73ee1150e0bae55d06c90fe12a448226">getLineMinPose</a> (const char *scanType=<a class="el" href="ArMapInterface_8h.html#ac9bfc47ae45cd704d0c287fa69f56686">ARMAP_DEFAULT_SCAN_TYPE</a>)=0</td></tr>
<tr class="memdesc:a73ee1150e0bae55d06c90fe12a448226"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the lower left point (minimum x and y) of the scan's line segments.  <a href="#a73ee1150e0bae55d06c90fe12a448226">More...</a><br /></td></tr>
<tr class="separator:a73ee1150e0bae55d06c90fe12a448226"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afb236644c2df2f7f1f65c94226a029da"><td class="memItemLeft" align="right" valign="top">virtual std::vector&lt; <a class="el" href="classArLineSegment.html">ArLineSegment</a> &gt; *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArMapScanInterface.html#afb236644c2df2f7f1f65c94226a029da">getLines</a> (const char *scanType=<a class="el" href="ArMapInterface_8h.html#ac9bfc47ae45cd704d0c287fa69f56686">ARMAP_DEFAULT_SCAN_TYPE</a>)=0</td></tr>
<tr class="memdesc:afb236644c2df2f7f1f65c94226a029da"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a pointer to the line segments for the specified scan.  <a href="#afb236644c2df2f7f1f65c94226a029da">More...</a><br /></td></tr>
<tr class="separator:afb236644c2df2f7f1f65c94226a029da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aab1cf68c7c01205c63fc7f64257d8e70"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classArPose.html">ArPose</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArMapScanInterface.html#aab1cf68c7c01205c63fc7f64257d8e70">getMaxPose</a> (const char *scanType=<a class="el" href="ArMapInterface_8h.html#ac9bfc47ae45cd704d0c287fa69f56686">ARMAP_DEFAULT_SCAN_TYPE</a>)=0</td></tr>
<tr class="memdesc:aab1cf68c7c01205c63fc7f64257d8e70"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the upper right point (maximum x and y) of the scan's points.  <a href="#aab1cf68c7c01205c63fc7f64257d8e70">More...</a><br /></td></tr>
<tr class="separator:aab1cf68c7c01205c63fc7f64257d8e70"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a30c9b95c5162084dadb8602891254492"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classArPose.html">ArPose</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArMapScanInterface.html#a30c9b95c5162084dadb8602891254492">getMinPose</a> (const char *scanType=<a class="el" href="ArMapInterface_8h.html#ac9bfc47ae45cd704d0c287fa69f56686">ARMAP_DEFAULT_SCAN_TYPE</a>)=0</td></tr>
<tr class="memdesc:a30c9b95c5162084dadb8602891254492"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the lower left point (minimum x and y) of the scan's points.  <a href="#a30c9b95c5162084dadb8602891254492">More...</a><br /></td></tr>
<tr class="separator:a30c9b95c5162084dadb8602891254492"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a89bc799ecce6710728ef14863fdc97b3"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArMapScanInterface.html#a89bc799ecce6710728ef14863fdc97b3">getNumLines</a> (const char *scanType=<a class="el" href="ArMapInterface_8h.html#ac9bfc47ae45cd704d0c287fa69f56686">ARMAP_DEFAULT_SCAN_TYPE</a>)=0</td></tr>
<tr class="memdesc:a89bc799ecce6710728ef14863fdc97b3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the number of line segments in the specified scan.  <a href="#a89bc799ecce6710728ef14863fdc97b3">More...</a><br /></td></tr>
<tr class="separator:a89bc799ecce6710728ef14863fdc97b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a891d5c22c516c783e947063298e34494"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArMapScanInterface.html#a891d5c22c516c783e947063298e34494">getNumPoints</a> (const char *scanType=<a class="el" href="ArMapInterface_8h.html#ac9bfc47ae45cd704d0c287fa69f56686">ARMAP_DEFAULT_SCAN_TYPE</a>)=0</td></tr>
<tr class="memdesc:a891d5c22c516c783e947063298e34494"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the number of points in the specified scan.  <a href="#a891d5c22c516c783e947063298e34494">More...</a><br /></td></tr>
<tr class="separator:a891d5c22c516c783e947063298e34494"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1dcd08b5cfc13ac5dc7d4b165d25bcaf"><td class="memItemLeft" align="right" valign="top">virtual std::vector&lt; <a class="el" href="classArPose.html">ArPose</a> &gt; *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArMapScanInterface.html#a1dcd08b5cfc13ac5dc7d4b165d25bcaf">getPoints</a> (const char *scanType=<a class="el" href="ArMapInterface_8h.html#ac9bfc47ae45cd704d0c287fa69f56686">ARMAP_DEFAULT_SCAN_TYPE</a>)=0</td></tr>
<tr class="memdesc:a1dcd08b5cfc13ac5dc7d4b165d25bcaf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a pointer to the map points for the specified scan.  <a href="#a1dcd08b5cfc13ac5dc7d4b165d25bcaf">More...</a><br /></td></tr>
<tr class="separator:a1dcd08b5cfc13ac5dc7d4b165d25bcaf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00e165a9f6d1accbf685fdf11bfe072e"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArMapScanInterface.html#a00e165a9f6d1accbf685fdf11bfe072e">getResolution</a> (const char *scanType=<a class="el" href="ArMapInterface_8h.html#ac9bfc47ae45cd704d0c287fa69f56686">ARMAP_DEFAULT_SCAN_TYPE</a>)=0</td></tr>
<tr class="memdesc:a00e165a9f6d1accbf685fdf11bfe072e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the resolution (-1 if none specified)  <a href="#a00e165a9f6d1accbf685fdf11bfe072e">More...</a><br /></td></tr>
<tr class="separator:a00e165a9f6d1accbf685fdf11bfe072e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab832d545112db2fe6728a4c832e8dd1f"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArMapScanInterface.html#ab832d545112db2fe6728a4c832e8dd1f">isSortedLines</a> (const char *scanType=<a class="el" href="ArMapInterface_8h.html#ac9bfc47ae45cd704d0c287fa69f56686">ARMAP_DEFAULT_SCAN_TYPE</a>) const =0</td></tr>
<tr class="memdesc:ab832d545112db2fe6728a4c832e8dd1f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns whether the line segment vector for the specified scan is sorted.  <a href="#ab832d545112db2fe6728a4c832e8dd1f">More...</a><br /></td></tr>
<tr class="separator:ab832d545112db2fe6728a4c832e8dd1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a96f6ecf236726619b8beca21d93b1d04"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArMapScanInterface.html#a96f6ecf236726619b8beca21d93b1d04">isSortedPoints</a> (const char *scanType=<a class="el" href="ArMapInterface_8h.html#ac9bfc47ae45cd704d0c287fa69f56686">ARMAP_DEFAULT_SCAN_TYPE</a>) const =0</td></tr>
<tr class="memdesc:a96f6ecf236726619b8beca21d93b1d04"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns whether the point vector for the specified scan is sorted.  <a href="#a96f6ecf236726619b8beca21d93b1d04">More...</a><br /></td></tr>
<tr class="separator:a96f6ecf236726619b8beca21d93b1d04"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf3ec826e7b3180d0ea26071e735fba9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aaf3ec826e7b3180d0ea26071e735fba9"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArMapScanInterface.html#aaf3ec826e7b3180d0ea26071e735fba9">loadDataPoint</a> (double x, double y)=0</td></tr>
<tr class="memdesc:aaf3ec826e7b3180d0ea26071e735fba9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds the specified data point to the scan data. <br /></td></tr>
<tr class="separator:aaf3ec826e7b3180d0ea26071e735fba9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae19cc5a481b6c73369261a14d7c0c6e1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae19cc5a481b6c73369261a14d7c0c6e1"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArMapScanInterface.html#ae19cc5a481b6c73369261a14d7c0c6e1">loadLineSegment</a> (double x1, double y1, double x2, double y2)=0</td></tr>
<tr class="memdesc:ae19cc5a481b6c73369261a14d7c0c6e1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds the specified line segment to the scan data. <br /></td></tr>
<tr class="separator:ae19cc5a481b6c73369261a14d7c0c6e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec0a8ac2dfc18c01f1764e80a0e4588d"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArMapScanInterface.html#aec0a8ac2dfc18c01f1764e80a0e4588d">readDataPoint</a> (char *line)=0</td></tr>
<tr class="memdesc:aec0a8ac2dfc18c01f1764e80a0e4588d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads a data point from the given line and adds it to this scan data.  <a href="#aec0a8ac2dfc18c01f1764e80a0e4588d">More...</a><br /></td></tr>
<tr class="separator:aec0a8ac2dfc18c01f1764e80a0e4588d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa0ee33dcc7cafeb818b5fc3905be0dc1"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArMapScanInterface.html#aa0ee33dcc7cafeb818b5fc3905be0dc1">readLineSegment</a> (char *line)=0</td></tr>
<tr class="memdesc:aa0ee33dcc7cafeb818b5fc3905be0dc1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads a line segment from the given line and adds it to this scan data.  <a href="#aa0ee33dcc7cafeb818b5fc3905be0dc1">More...</a><br /></td></tr>
<tr class="separator:aa0ee33dcc7cafeb818b5fc3905be0dc1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3a5ad36fe57fee02deacff8b7121a9c7"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArMapScanInterface.html#a3a5ad36fe57fee02deacff8b7121a9c7">remFromFileParser</a> (<a class="el" href="classArFileParser.html">ArFileParser</a> *fileParser)=0</td></tr>
<tr class="memdesc:a3a5ad36fe57fee02deacff8b7121a9c7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes the handlers for this scan data's header information from the given file parser.  <a href="#a3a5ad36fe57fee02deacff8b7121a9c7">More...</a><br /></td></tr>
<tr class="separator:a3a5ad36fe57fee02deacff8b7121a9c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a89b013a50a0bebca595c3cc0d30dccd7"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArMapScanInterface.html#a89b013a50a0bebca595c3cc0d30dccd7">setLines</a> (const std::vector&lt; <a class="el" href="classArLineSegment.html">ArLineSegment</a> &gt; *lines, const char *scanType=<a class="el" href="ArMapInterface_8h.html#ac9bfc47ae45cd704d0c287fa69f56686">ARMAP_DEFAULT_SCAN_TYPE</a>, bool <a class="el" href="classArMapScanInterface.html#ab832d545112db2fe6728a4c832e8dd1f">isSortedLines</a>=false, <a class="el" href="classArMapChangeDetails.html">ArMapChangeDetails</a> *changeDetails=NULL)=0</td></tr>
<tr class="memdesc:a89b013a50a0bebca595c3cc0d30dccd7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the lines (copies those passed in)  <a href="#a89b013a50a0bebca595c3cc0d30dccd7">More...</a><br /></td></tr>
<tr class="separator:a89b013a50a0bebca595c3cc0d30dccd7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab195302c09f759ed475f20ab9acc9ede"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArMapScanInterface.html#ab195302c09f759ed475f20ab9acc9ede">setPoints</a> (const std::vector&lt; <a class="el" href="classArPose.html">ArPose</a> &gt; *points, const char *scanType=<a class="el" href="ArMapInterface_8h.html#ac9bfc47ae45cd704d0c287fa69f56686">ARMAP_DEFAULT_SCAN_TYPE</a>, bool <a class="el" href="classArMapScanInterface.html#a96f6ecf236726619b8beca21d93b1d04">isSortedPoints</a>=false, <a class="el" href="classArMapChangeDetails.html">ArMapChangeDetails</a> *changeDetails=NULL)=0</td></tr>
<tr class="memdesc:ab195302c09f759ed475f20ab9acc9ede"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the points (copies those passed in)  <a href="#ab195302c09f759ed475f20ab9acc9ede">More...</a><br /></td></tr>
<tr class="separator:ab195302c09f759ed475f20ab9acc9ede"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adbff07c05db036ae2135a5686d23b13e"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArMapScanInterface.html#adbff07c05db036ae2135a5686d23b13e">setResolution</a> (int resolution, const char *scanType=<a class="el" href="ArMapInterface_8h.html#ac9bfc47ae45cd704d0c287fa69f56686">ARMAP_DEFAULT_SCAN_TYPE</a>, <a class="el" href="classArMapChangeDetails.html">ArMapChangeDetails</a> *changeDetails=NULL)=0</td></tr>
<tr class="memdesc:adbff07c05db036ae2135a5686d23b13e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the resolution (-1 if none specified)  <a href="#adbff07c05db036ae2135a5686d23b13e">More...</a><br /></td></tr>
<tr class="separator:adbff07c05db036ae2135a5686d23b13e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a56d0066fd304a1381a5b101317a437ab"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArMapScanInterface.html#a56d0066fd304a1381a5b101317a437ab">writeLinesToFunctor</a> (<a class="el" href="classArFunctor2.html">ArFunctor2</a>&lt; int, std::vector&lt; <a class="el" href="classArLineSegment.html">ArLineSegment</a> &gt; * &gt; *functor, const char *scanType=<a class="el" href="ArMapInterface_8h.html#ac9bfc47ae45cd704d0c287fa69f56686">ARMAP_DEFAULT_SCAN_TYPE</a>, <a class="el" href="classArFunctor1.html">ArFunctor1</a>&lt; const char * &gt; *keywordFunctor=NULL)=0</td></tr>
<tr class="memdesc:a56d0066fd304a1381a5b101317a437ab"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes the map line segments to a functor.  <a href="#a56d0066fd304a1381a5b101317a437ab">More...</a><br /></td></tr>
<tr class="separator:a56d0066fd304a1381a5b101317a437ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c66d0c8ec8e74a1cae28fb5d26545d2"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArMapScanInterface.html#a5c66d0c8ec8e74a1cae28fb5d26545d2">writePointsToFunctor</a> (<a class="el" href="classArFunctor2.html">ArFunctor2</a>&lt; int, std::vector&lt; <a class="el" href="classArPose.html">ArPose</a> &gt; * &gt; *functor, const char *scanType=<a class="el" href="ArMapInterface_8h.html#ac9bfc47ae45cd704d0c287fa69f56686">ARMAP_DEFAULT_SCAN_TYPE</a>, <a class="el" href="classArFunctor1.html">ArFunctor1</a>&lt; const char * &gt; *keywordFunctor=NULL)=0</td></tr>
<tr class="memdesc:a5c66d0c8ec8e74a1cae28fb5d26545d2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes the scan data points to a functor.  <a href="#a5c66d0c8ec8e74a1cae28fb5d26545d2">More...</a><br /></td></tr>
<tr class="separator:a5c66d0c8ec8e74a1cae28fb5d26545d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abb744ca0073a2624cf786710dd03de33"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArMapScanInterface.html#abb744ca0073a2624cf786710dd03de33">writeScanToFunctor</a> (<a class="el" href="classArFunctor1.html">ArFunctor1</a>&lt; const char * &gt; *functor, const char *endOfLineChars, const char *scanType=<a class="el" href="ArMapInterface_8h.html#ac9bfc47ae45cd704d0c287fa69f56686">ARMAP_DEFAULT_SCAN_TYPE</a>)=0</td></tr>
<tr class="memdesc:abb744ca0073a2624cf786710dd03de33"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method writes a text line for each of the scan header attributes (such as MinPose, MaxPose, NumPoints).  <a href="#abb744ca0073a2624cf786710dd03de33">More...</a><br /></td></tr>
<tr class="separator:abb744ca0073a2624cf786710dd03de33"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a31cb8d64d81abe99b086b104157b6cbc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a31cb8d64d81abe99b086b104157b6cbc"></a>
virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArMapScanInterface.html#a31cb8d64d81abe99b086b104157b6cbc">~ArMapScanInterface</a> ()</td></tr>
<tr class="memdesc:a31cb8d64d81abe99b086b104157b6cbc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <br /></td></tr>
<tr class="separator:a31cb8d64d81abe99b086b104157b6cbc"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a3d44443ed74d6fd42d7a63146b2c7c63"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3d44443ed74d6fd42d7a63146b2c7c63"></a>
static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArMapScanInterface.html#a3d44443ed74d6fd42d7a63146b2c7c63">isDefaultScanType</a> (const char *scanType)</td></tr>
<tr class="memdesc:a3d44443ed74d6fd42d7a63146b2c7c63"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determines whether the given scan type is the default (i.e. no prefix on the map tags) <br /></td></tr>
<tr class="separator:a3d44443ed74d6fd42d7a63146b2c7c63"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab1cf557a1fa8c18d71d5de70e8af549c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab1cf557a1fa8c18d71d5de70e8af549c"></a>
static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArMapScanInterface.html#ab1cf557a1fa8c18d71d5de70e8af549c">isSummaryScanType</a> (const char *scanType)</td></tr>
<tr class="memdesc:ab1cf557a1fa8c18d71d5de70e8af549c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determines whether the given scan type represents the summary of all other scan types. <br /></td></tr>
<tr class="separator:ab1cf557a1fa8c18d71d5de70e8af549c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Methods related to setting and retrieving the scan-related data in an <a class="el" href="classAria.html" title="Contains global initialization, deinitialization and other global functions. ">Aria</a> map. </p>
<p><a class="el" href="classArMapScanInterface.html" title="Methods related to setting and retrieving the scan-related data in an Aria map. ">ArMapScanInterface</a> is an abstract class that defines the methods used to manipulate obstacle data in an <a class="el" href="classAria.html" title="Contains global initialization, deinitialization and other global functions. ">Aria</a> map. These generally include the points and lines detected by a particular sensor (a.k.a. scan type). </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="ac2148e6b805f454df92629107524cc6b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool ArMapScanInterface::addToFileParser </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArFileParser.html">ArFileParser</a> *&#160;</td>
          <td class="paramname"><em>fileParser</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Adds handlers for this scan data's header information to the given file parser. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">fileParser</td><td>a pointer to the <a class="el" href="classArFileParser.html" title="Class for parsing files more easily. ">ArFileParser</a> to which to add the handlers </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>bool true if the handlers were successfully added; false if an error occurred </dd></dl>

</div>
</div>
<a class="anchor" id="afb1843e08cfcd465ed0e7b81bcb3a080"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classArPose.html">ArPose</a> ArMapScanInterface::getLineMaxPose </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>scanType</em> = <code><a class="el" href="ArMapInterface_8h.html#ac9bfc47ae45cd704d0c287fa69f56686">ARMAP_DEFAULT_SCAN_TYPE</a></code></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the upper right point (maximum x and y) of the scan's line segments. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">scanType</td><td>the const char * identifier of the scan type for which to return the maximum line segment pose; if ARMAP_SUMMARY_SCAN_TYPE, then the maximum line segment pose for all scans is returned </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a73ee1150e0bae55d06c90fe12a448226"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classArPose.html">ArPose</a> ArMapScanInterface::getLineMinPose </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>scanType</em> = <code><a class="el" href="ArMapInterface_8h.html#ac9bfc47ae45cd704d0c287fa69f56686">ARMAP_DEFAULT_SCAN_TYPE</a></code></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the lower left point (minimum x and y) of the scan's line segments. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">scanType</td><td>the const char * identifier of the scan type for which to return the minimum line segment pose; if ARMAP_SUMMARY_SCAN_TYPE, then the minimum line segment pose for all scans is returned </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="afb236644c2df2f7f1f65c94226a029da"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual std::vector&lt;<a class="el" href="classArLineSegment.html">ArLineSegment</a>&gt;* ArMapScanInterface::getLines </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>scanType</em> = <code><a class="el" href="ArMapInterface_8h.html#ac9bfc47ae45cd704d0c287fa69f56686">ARMAP_DEFAULT_SCAN_TYPE</a></code></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns a pointer to the line segments for the specified scan. </p>
<p>Note that this returns a pointer to the object's internal vector. The map must be locked before this method is called, and must be unlocked after the caller has finished using the vector. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">scanType</td><td>the const char * identifier of the scan type for which to return the line segments; must be non-NULL </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>a pointer to the std::vector&lt;ArPose&gt; that contains the specified scan's points; NULL if the scanType is undefined for the map </dd></dl>

</div>
</div>
<a class="anchor" id="aab1cf68c7c01205c63fc7f64257d8e70"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classArPose.html">ArPose</a> ArMapScanInterface::getMaxPose </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>scanType</em> = <code><a class="el" href="ArMapInterface_8h.html#ac9bfc47ae45cd704d0c287fa69f56686">ARMAP_DEFAULT_SCAN_TYPE</a></code></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the upper right point (maximum x and y) of the scan's points. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">scanType</td><td>the const char * identifier of the scan type for which to return the maximum pose; if ARMAP_SUMMARY_SCAN_TYPE, then the maximum pose for all scans is returned </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a30c9b95c5162084dadb8602891254492"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classArPose.html">ArPose</a> ArMapScanInterface::getMinPose </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>scanType</em> = <code><a class="el" href="ArMapInterface_8h.html#ac9bfc47ae45cd704d0c287fa69f56686">ARMAP_DEFAULT_SCAN_TYPE</a></code></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the lower left point (minimum x and y) of the scan's points. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">scanType</td><td>the const char * identifier of the scan type for which to return the minimum pose; if ARMAP_SUMMARY_SCAN_TYPE, then the minimum pose for all scans is returned </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a89bc799ecce6710728ef14863fdc97b3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual int ArMapScanInterface::getNumLines </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>scanType</em> = <code><a class="el" href="ArMapInterface_8h.html#ac9bfc47ae45cd704d0c287fa69f56686">ARMAP_DEFAULT_SCAN_TYPE</a></code></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the number of line segments in the specified scan. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">scanType</td><td>the const char * identifier of the scan type for which to return the line segment count; if ARMAP_SUMMARY_SCAN_TYPE, then the line segment count for all scans is returned </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a891d5c22c516c783e947063298e34494"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual int ArMapScanInterface::getNumPoints </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>scanType</em> = <code><a class="el" href="ArMapInterface_8h.html#ac9bfc47ae45cd704d0c287fa69f56686">ARMAP_DEFAULT_SCAN_TYPE</a></code></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the number of points in the specified scan. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">scanType</td><td>the const char * identifier of the scan type for which to return the point count; if ARMAP_SUMMARY_SCAN_TYPE, then the point count for all scans is returned </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a1dcd08b5cfc13ac5dc7d4b165d25bcaf"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual std::vector&lt;<a class="el" href="classArPose.html">ArPose</a>&gt;* ArMapScanInterface::getPoints </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>scanType</em> = <code><a class="el" href="ArMapInterface_8h.html#ac9bfc47ae45cd704d0c287fa69f56686">ARMAP_DEFAULT_SCAN_TYPE</a></code></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns a pointer to the map points for the specified scan. </p>
<p>Note that this returns a pointer to the object's internal vector. The map must be locked before this method is called, and must be unlocked after the caller has finished using the vector. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">scanType</td><td>the const char * identifier of the scan type for which to return the points; must be non-NULL </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>a pointer to the std::vector&lt;ArPose&gt; that contains the specified scan's points; NULL if the scanType is undefined for the map </dd></dl>

</div>
</div>
<a class="anchor" id="a00e165a9f6d1accbf685fdf11bfe072e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual int ArMapScanInterface::getResolution </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>scanType</em> = <code><a class="el" href="ArMapInterface_8h.html#ac9bfc47ae45cd704d0c287fa69f56686">ARMAP_DEFAULT_SCAN_TYPE</a></code></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets the resolution (-1 if none specified) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">scanType</td><td>the const char * identifier of the scan for which to return the resolution; if ARMAP_SUMMARY_SCAN_TYPE then the lowest resolution (highest numerical value) of all scans is returned </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ab832d545112db2fe6728a4c832e8dd1f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool ArMapScanInterface::isSortedLines </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>scanType</em> = <code><a class="el" href="ArMapInterface_8h.html#ac9bfc47ae45cd704d0c287fa69f56686">ARMAP_DEFAULT_SCAN_TYPE</a></code></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns whether the line segment vector for the specified scan is sorted. </p>
<p>Note that this method returns the state of the line segment vector when it was read from the file, or after setLines has been called. If the application calls getLines and directly manipulates the line segment vector's contents, then isSortedLines will not necessarily be correct.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">scanType</td><td>the const char * identifier of the scan type for which to return the sorted state; if ARMAP_SUMMARY_SCAN_TYPE, then this method returns true if and only if all scans have sorted line segments </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a96f6ecf236726619b8beca21d93b1d04"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool ArMapScanInterface::isSortedPoints </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>scanType</em> = <code><a class="el" href="ArMapInterface_8h.html#ac9bfc47ae45cd704d0c287fa69f56686">ARMAP_DEFAULT_SCAN_TYPE</a></code></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns whether the point vector for the specified scan is sorted. </p>
<p>Note that this method returns the state of the point vector when it was read from the file, or after setPoints has been called. If the application calls getPoints and directly manipulates the point vector's contents, then isSortedPoints will not necessarily be correct.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">scanType</td><td>the const char * identifier of the scan type for which to return the sorted state; if ARMAP_SUMMARY_SCAN_TYPE, then this method returns true if and only if all scans have sorted points </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aec0a8ac2dfc18c01f1764e80a0e4588d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool ArMapScanInterface::readDataPoint </td>
          <td>(</td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>line</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Reads a data point from the given line and adds it to this scan data. </p>
<p>The data point is expected to be two integers (x y), separated by whitespace. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">line</td><td>the char * text line to be parsed </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>bool true if the point was successfully read and added to this scan data; false if an error occurred </dd></dl>

</div>
</div>
<a class="anchor" id="aa0ee33dcc7cafeb818b5fc3905be0dc1"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool ArMapScanInterface::readLineSegment </td>
          <td>(</td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>line</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Reads a line segment from the given line and adds it to this scan data. </p>
<p>The line segment is expected to be four integers (x1 y1 x2 y2), separated by whitespace </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">line</td><td>the char * text line to be parsed </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>bool true if the line segment was successfully read and added to this scan data; false if an error occurred </dd></dl>

</div>
</div>
<a class="anchor" id="a3a5ad36fe57fee02deacff8b7121a9c7"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool ArMapScanInterface::remFromFileParser </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArFileParser.html">ArFileParser</a> *&#160;</td>
          <td class="paramname"><em>fileParser</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Removes the handlers for this scan data's header information from the given file parser. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">fileParser</td><td>a pointer to the <a class="el" href="classArFileParser.html" title="Class for parsing files more easily. ">ArFileParser</a> from which to remove the handlers </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>bool true if the handlers were successfully removed; false if an error occurred </dd></dl>

</div>
</div>
<a class="anchor" id="a89b013a50a0bebca595c3cc0d30dccd7"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void ArMapScanInterface::setLines </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; <a class="el" href="classArLineSegment.html">ArLineSegment</a> &gt; *&#160;</td>
          <td class="paramname"><em>lines</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>scanType</em> = <code><a class="el" href="ArMapInterface_8h.html#ac9bfc47ae45cd704d0c287fa69f56686">ARMAP_DEFAULT_SCAN_TYPE</a></code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>isSortedLines</em> = <code>false</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArMapChangeDetails.html">ArMapChangeDetails</a> *&#160;</td>
          <td class="paramname"><em>changeDetails</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Sets the lines (copies those passed in) </p>
<p>This method will sort the given line segments in ascending order (according to the <a class="el" href="classArLineSegment.html" title="Represents a line segment in two-dimensional space. ">ArLineSegment</a> less-than operator. If the vector is already sorted, then set the isSortedLiens parameter to true in order to improve performance. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">lines</td><td>a pointer to the <a class="el" href="classArLineSegment.html" title="Represents a line segment in two-dimensional space. ">ArLineSegment</a> vector to be copied to the scan data </td></tr>
    <tr><td class="paramname">scanType</td><td>the const char * identifier of the scan type for which to set the points; must not be ARMAP_SUMMARY_SCAN_TYPE or NULL </td></tr>
    <tr><td class="paramname">isSortedLines</td><td>a bool set to true if the line segment vector has already been sorted in ascending order </td></tr>
    <tr><td class="paramname">changeDetails</td><td>a pointer to the optional <a class="el" href="classArMapChangeDetails.html" title="Helper class used to track changes to an Aria map. ">ArMapChangeDetails</a> in which to store a description of the changes to the scan data; if NULL then the changes are not tracked. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classArMapChangeDetails.html" title="Helper class used to track changes to an Aria map. ">ArMapChangeDetails</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ab195302c09f759ed475f20ab9acc9ede"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void ArMapScanInterface::setPoints </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; <a class="el" href="classArPose.html">ArPose</a> &gt; *&#160;</td>
          <td class="paramname"><em>points</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>scanType</em> = <code><a class="el" href="ArMapInterface_8h.html#ac9bfc47ae45cd704d0c287fa69f56686">ARMAP_DEFAULT_SCAN_TYPE</a></code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>isSortedPoints</em> = <code>false</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArMapChangeDetails.html">ArMapChangeDetails</a> *&#160;</td>
          <td class="paramname"><em>changeDetails</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Sets the points (copies those passed in) </p>
<p>This method will sort the given points in ascending order (according to the <a class="el" href="classArPose.html" title="Represents an x, y position with an orientation. ">ArPose</a> less-than operator. If the points vector is already sorted, then set the isSortedPoints parameter to true in order to improve performance. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">points</td><td>a pointer to the <a class="el" href="classArPose.html" title="Represents an x, y position with an orientation. ">ArPose</a> vector to be copied to the scan data </td></tr>
    <tr><td class="paramname">scanType</td><td>the const char * identifier of the scan type for which to set the points; must not be ARMAP_SUMMARY_SCAN_TYPE or NULL </td></tr>
    <tr><td class="paramname">isSortedPoints</td><td>a bool set to true if the points vector has already been sorted in ascending order </td></tr>
    <tr><td class="paramname">changeDetails</td><td>a pointer to the optional <a class="el" href="classArMapChangeDetails.html" title="Helper class used to track changes to an Aria map. ">ArMapChangeDetails</a> in which to store a description of the changes to the scan data; if NULL then the changes are not tracked. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classArMapChangeDetails.html" title="Helper class used to track changes to an Aria map. ">ArMapChangeDetails</a> </dd></dl>

</div>
</div>
<a class="anchor" id="adbff07c05db036ae2135a5686d23b13e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void ArMapScanInterface::setResolution </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>resolution</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>scanType</em> = <code><a class="el" href="ArMapInterface_8h.html#ac9bfc47ae45cd704d0c287fa69f56686">ARMAP_DEFAULT_SCAN_TYPE</a></code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArMapChangeDetails.html">ArMapChangeDetails</a> *&#160;</td>
          <td class="paramname"><em>changeDetails</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Sets the resolution (-1 if none specified) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">resolution</td><td>the int number of mm between the scan data point readings </td></tr>
    <tr><td class="paramname">scanType</td><td>the const char * identifier of the scan for which to return the resolution; must not be ARMAP_SUMMARY_SCAN_TYPE or NULL </td></tr>
    <tr><td class="paramname">changeDetails</td><td>a pointer to the optional <a class="el" href="classArMapChangeDetails.html" title="Helper class used to track changes to an Aria map. ">ArMapChangeDetails</a> in which to store a description of the changes to the scan data; if NULL then the changes are not tracked. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classArMapChangeDetails.html" title="Helper class used to track changes to an Aria map. ">ArMapChangeDetails</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a56d0066fd304a1381a5b101317a437ab"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void ArMapScanInterface::writeLinesToFunctor </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArFunctor2.html">ArFunctor2</a>&lt; int, std::vector&lt; <a class="el" href="classArLineSegment.html">ArLineSegment</a> &gt; * &gt; *&#160;</td>
          <td class="paramname"><em>functor</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>scanType</em> = <code><a class="el" href="ArMapInterface_8h.html#ac9bfc47ae45cd704d0c287fa69f56686">ARMAP_DEFAULT_SCAN_TYPE</a></code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArFunctor1.html">ArFunctor1</a>&lt; const char * &gt; *&#160;</td>
          <td class="paramname"><em>keywordFunctor</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Writes the map line segments to a functor. </p>
<p>A pointer to the entire data line segment vector is passed directly to the functor in order to improve performance. The functor must not modify the vector's contents. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">functor</td><td>a pointer to the <a class="el" href="classArFunctor2.html" title="Base class for functors with 2 parameters. ">ArFunctor2</a> that takes the number of line segments and the vector of ArLineSegments, and writes the information </td></tr>
    <tr><td class="paramname">scanType</td><td>the const char * identifier of the scan points to be written; must not be ARMAP_SUMMARY_SCAN_TYPE or NULL </td></tr>
    <tr><td class="paramname">keywordFunctor</td><td>a pointer to an optional <a class="el" href="classArFunctor1.html" title="Base class for functors with 1 parameter. ">ArFunctor1</a> that writes a text line to introduce the associated ArLineSegments; if NULL, then the header is not written </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a5c66d0c8ec8e74a1cae28fb5d26545d2"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void ArMapScanInterface::writePointsToFunctor </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArFunctor2.html">ArFunctor2</a>&lt; int, std::vector&lt; <a class="el" href="classArPose.html">ArPose</a> &gt; * &gt; *&#160;</td>
          <td class="paramname"><em>functor</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>scanType</em> = <code><a class="el" href="ArMapInterface_8h.html#ac9bfc47ae45cd704d0c287fa69f56686">ARMAP_DEFAULT_SCAN_TYPE</a></code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArFunctor1.html">ArFunctor1</a>&lt; const char * &gt; *&#160;</td>
          <td class="paramname"><em>keywordFunctor</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Writes the scan data points to a functor. </p>
<p>A pointer to the entire data point vector is passed directly to the functor in order to improve performance. The functor must not modify the vector's contents. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">functor</td><td>a pointer to the <a class="el" href="classArFunctor2.html" title="Base class for functors with 2 parameters. ">ArFunctor2</a> that takes the number of points and the vector of ArPoses, and writes the information </td></tr>
    <tr><td class="paramname">scanType</td><td>the const char * identifier of the scan points to be written; must not be ARMAP_SUMMARY_SCAN_TYPE or NULL </td></tr>
    <tr><td class="paramname">keywordFunctor</td><td>a pointer to an optional <a class="el" href="classArFunctor1.html" title="Base class for functors with 1 parameter. ">ArFunctor1</a> that writes a text line to introduce the associated ArPoses; if NULL, then the header is not written </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="abb744ca0073a2624cf786710dd03de33"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void ArMapScanInterface::writeScanToFunctor </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArFunctor1.html">ArFunctor1</a>&lt; const char * &gt; *&#160;</td>
          <td class="paramname"><em>functor</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>endOfLineChars</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>scanType</em> = <code><a class="el" href="ArMapInterface_8h.html#ac9bfc47ae45cd704d0c287fa69f56686">ARMAP_DEFAULT_SCAN_TYPE</a></code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>This method writes a text line for each of the scan header attributes (such as MinPose, MaxPose, NumPoints). </p>
<p>Depending on the scan type, a prefix may be prepended to the keyword (e.g. HokuyoURGMinPose).</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">functor</td><td>the <a class="el" href="classArFunctor1.html" title="Base class for functors with 1 parameter. ">ArFunctor1</a> to which to write the scan header information (as text lines) </td></tr>
    <tr><td class="paramname">endOfLineChars</td><td>the const char * string to be appended to the end of each text line </td></tr>
    <tr><td class="paramname">scanType</td><td>the const char * identifier of the scan data to be written to the functor; must not be ARMAP_SUMMARY_SCAN_TYPE or NULL </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="ArMapInterface_8h.html">ArMapInterface.h</a></li>
<li>ArMapInterface.cpp</li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="classArMapScanInterface.html">ArMapScanInterface</a></li>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.11 </li>
  </ul>
</div>
</body>
</html>
